Stooq Historical Stock Prices Scraper
Pricing
from $19.00 / 1,000 results
Stooq Historical Stock Prices Scraper
Scrapes historical OHLCV price data from Stooq for a single ticker, index, or forex pair. Returns each bar as a flat row with date, open, high, low, close, and volume.
Pricing
from $19.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
21
Total users
5
Monthly active users
8 days ago
Last modified
Share
Stooq Historical Stock Prices Scraper
Scrape historical stock prices from Stooq for any ticker, index, or forex pair, up to a million records per run. Get daily, weekly, monthly, quarterly, or yearly OHLCV data. Export to CSV, JSON, Excel, or XML.
Stooq provides free historical financial data, but downloading it ticker by ticker is slow and manual. This actor reads the public price feeds directly, fetching open, high, low, close, and volume for any supported symbol. You control the interval and the number of records, and the output lands in one clean dataset.
| Who uses it | What they scrape Stooq for |
|---|---|
| Quantitative analysts | Backtesting trading strategies against years of historical price data. |
| Financial data engineers | Building internal price databases by pulling full histories for entire watchlists. |
| Market researchers | Comparing long-term performance trends across different asset classes. |
| Students and academics | Gathering clean OHLCV datasets for financial modeling and coursework. |
What it does
This actor collects historical OHLCV price data from Stooq for a single ticker and returns each bar as a flat row.
- ๐ Flexible intervals: Choose daily, weekly, monthly, quarterly, or yearly bars to match your analysis timeframe.
- ๐ Global symbol support: Works with US stocks (AAPL.US), indices (^SPX), forex pairs (EURUSD), and Polish equities.
- ๐ Full OHLCV data: Every row includes open, high, low, close, and volume, ready for charting or modeling.
- โ๏ธ Configurable record limit: Pull a quick 10-bar preview or request up to a million rows for deep history.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with Stooq data
๐ Backtest a trading strategy.
A quant pulls 20 years of daily AAPL.US data to run a moving-average crossover backtest in Python.
๐ฑ Analyze forex pair seasonality.
A market researcher fetches monthly EURUSD bars for the last decade to identify seasonal patterns.
๐ Build a course dataset.
A finance professor downloads five years of weekly ^SPX data so students can practice regression models.
๐ข Populate an internal data warehouse.
A data engineer loops through a list of WIG20 tickers, pulling full daily histories into a company database.
Why choose this scraper
| What you get | |
|---|---|
| No API key required | Reads Stooq's public data feeds directly, no registration or token management needed. |
| Clean, flat output | Every price bar is one row with a fixed schema, ready for pandas, Excel, or a database. |
| Full history on demand | Set max items high enough and get every available bar for the symbol. |
How it compares
No other Store actor targets Stooq the same way, so the honest comparison is with the alternatives teams actually weigh.
| Stooq Historical Stock Prices Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When Stooq 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 with a single ticker symbol and set the bar interval and maximum number of records to return. The Input tab lists every parameter.
A first run with the defaults:
{"ticker": "AAPL.US","maxItems": 10}
A larger pull:
{"ticker": "AAPL.US","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 to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the Stooq Historical Stock Prices Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to Stooq through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/stooq-historical-stocks-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check your ticker format. US stocks need the .US suffix (MSFT.US), indices need a caret (^SPX), and forex pairs are six letters (EURUSD). Also confirm the symbol exists on stooq.com.
The run finished but the dataset is empty.
Stooq may not have data for that symbol and interval combination. Try a well-known ticker like AAPL.US with the daily interval to verify the actor is working.
I only got 10 records even though I set maxItems higher.
Free Apify accounts are capped at 10 items per run. Upgrade to a paid plan to remove this limit and fetch up to 1,000,000 records.
The dates in my output look wrong.
Stooq returns dates in YYYY-MM-DD format. If you see unexpected dates, verify you selected the correct interval. A 'monthly' interval returns one bar per calendar month.
Can I get dividend or split data?
No, this actor fetches only price and volume data. Stooq's public OHLCV feeds do not include corporate actions like dividends or stock splits.
FAQ
| Question | Answer |
|---|---|
| What ticker format does Stooq use? | US stocks use the format TICKER.US (e.g., AAPL.US). Indices start with a caret (^SPX, ^DJI). Forex pairs use the six-letter form (EURUSD). Polish stocks use the plain ticker without a suffix. |
| Does this actor support intraday data? | No, Stooq's public data feeds provide daily bars as the highest resolution. The actor supports daily, weekly, monthly, quarterly, and yearly intervals. |
| How many records can I fetch in one run? | Free Apify users are limited to a 10-record preview. Paid users can request up to 1,000,000 records per run, which covers the full available history for most symbols. |
| What fields are included in the output? | Each row contains the date, open, high, low, close, and volume. The exact field names are shown in the dataset preview after a test run. |
| Can I scrape multiple tickers at once? | This actor processes one ticker per run. To fetch multiple tickers, run the actor once per symbol, either manually or by calling the API in a loop from your code. |
| Is there a rate limit on Stooq's data? | Stooq's public data service is designed for reasonable use. The actor fetches the entire history in a single request per run, so rate limiting is rarely an issue. |
| What exchanges and asset classes are covered? | Stooq covers US stocks, major indices, forex pairs, cryptocurrencies, and Polish equities from the Warsaw Stock Exchange, among others. |
| How do I get the data into Excel? | After the run completes, export your dataset directly from Apify's storage as a CSV or Excel file. The flat row format imports cleanly into any spreadsheet. |
| Can I schedule this actor to run daily? | Yes, Apify's scheduler lets you set a cron expression. Run it once a day after market close to keep your local price history up to date. |
| What happens if I enter an invalid ticker? | The actor will attempt to fetch data from Stooq. If the symbol is not recognized, Stooq returns an empty response, and the run will finish with zero results. |
Related actors
Browse the full ParseForge collection 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 Stooq. 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.
