Skip to content

Reference

Macro Education

FXMacroData vs Stooq: Free Historical Price Downloads vs FX Macro Data

A comparison of Stooq's free historical CSV price downloads and FXMacroData's official macro release API for FX traders and Python researchers, covering the 2026 API key change, pandas-datareader removal, licence terms, and release timestamps.

Share article X LinkedIn Email
Pip, the FXMacroData robot mascot, re-dates a single card with a rubber date stamp beside a tall stack of printed price sheets.
Stooq dates a macro row by its reference period; FXMacroData stamps the second the release was published, so a backtest only uses data it could have seen.

This comparison is for Python researchers, FX backtesters, and quant developers who have used Stooq's free historical CSV files, often through pandas-datareader, and want to know where FXMacroData fits. Both products give you history for free or close to it, but they answer different questions. Stooq answers "what was the price on this day?" for FX pairs, indices, stocks, bonds, and commodities. FXMacroData answers "what did the official statistics agency or central bank release, and at exactly what second?" across 22 currencies.

The core finding: Stooq is a useful free price archive for personal research, but it changed in 2026. Its CSV download now asks for an API key, pandas-datareader removed its Stooq reader in v0.11.0, and Stooq's bulk-data page says the files are for personal use only. Its macro series are stored like price bars against a reference-period date, not the date the number was published. FXMacroData publishes self-serve plans with a free USD tier and a $50/month Individual plan, stamps every release with a second-level announcement_datetime, and offers a self-serve licence for commercial redistribution. If your model trades EUR/USD around US CPI, you can use Stooq for the daily price bars and FXMacroData for the release timing they need to line up against.

Decision snapshot

Use Stooq for

Free daily, weekly, and monthly OHLC history for FX, indices, stocks, and commodities, plus bulk daily, hourly, and 5-minute files, for personal research.

Use FXMacroData for

Official macro releases with second-level announcement timestamps, a release calendar, and a documented API for backtests, alerts, dashboards, and AI agents.

Fast verdict

Stooq is a price archive and FXMacroData is a release-data layer. Event-driven FX research usually needs both, joined on the publication time.

Takeaway: Choose by the question. Stooq tells you what the price was on a given day. FXMacroData tells you what was released and when the market could first see it.

Pricing And Licence

Stooq's historical data pages and bulk database are free to use on the website. Its terms of service mention registered accounts with "additional paid services", but no price list for data access appeared on its public pages. Because there are no published paid plans to put side by side, this article has no price chart. The cost question is about the licence instead.

The licence is narrow. Stooq's terms of service say redistribution of data found on the website is not allowed without Stooq's consent, and the bulk historical data page states that the data is intended solely for personal use and that any commercial use is prohibited. Licensed third-party content carries extra conditions: S&P Dow Jones index data is limited to personal, non-commercial use, and onward distribution of London Metal Exchange data is not permitted. For a student or a solo researcher this is usually fine. A fund, a signal vendor, or a product team needs written permission first.

FXMacroData publishes its plans in full. The Always Free tier covers USD data with no key, 100 requests/day, and USD announcements delayed 15 minutes. Individual is $50/month or $500/year with a 14-day trial and 1,000,000 requests/month. Business is $250/month or $2,500/year for companies and teams of up to 10 people, and Enterprise is by custom agreement. Commercial Redistribution is a self-serve add-on at $10/month per block of up to 100 measured users (or 1,000 public-feed followers).

Stooq historical data

Free*

Website, CSV links, and bulk files. Personal use only; redistribution needs Stooq's consent. API key now required for CSV downloads.

FXMacroData Always Free

$0

USD data, no key, 100 requests/day, USD announcements delayed 15 minutes.

FXMacroData Individual

$50/month

22 currencies, 1,000,000 requests/month, 14-day trial. Commercial redistribution available as a self-serve add-on.

Takeaway: Stooq costs nothing, but you may only use the data for yourself. FXMacroData has a free USD tier and a paid plan, and it tells you up front what you are allowed to do with the data, including commercial use.

* Competitor pricing and terms retrieved from Stooq's public historical data pages, bulk data page, and terms of service in October 2026.

Side-By-Side Comparison

Attribute FXMacroData Stooq
Core job FX macro release data with announcement timestamps, release calendar, pair dashboards, and API/MCP access. Financial portal with free historical OHLC prices for FX, indices, stocks, bonds, and commodities, plus some macro series.
Entry pricing Always Free USD tier; Individual $50/month or $500/year; Business $250/month. Free*; no paid data plan price published.
Free tier USD data, no key, 100 requests/day, USD announcements delayed 15 minutes; 14-day trial on Individual. Whole site is free; CSV downloads need an API key requested through the website.
Coverage 22 currencies, 700+ official indicator series, plus FX spot, COT, bond yields, commodities, and central-bank press releases. Broad market price coverage across world, US, UK, Japan, Hong Kong, Poland, and Hungary folders, plus a compact macroeconomy folder.
Release timing Second-level announcement_datetime; typically available within seconds of official publication, measured publicly. Macro rows are dated to the reference period (for example 31 Aug 2026 for August CPI); no publication timestamp or latency figure published.
API format REST JSON with OpenAPI, X-API-Key header, SSE streaming, GraphQL, Python/JS SDKs. CSV download URLs and bulk ASCII/Metastock files; no published API documentation.
Rate limits 1,000,000 requests/month on Individual and Business; bursts of 300/min, 5,000/hour, 20 concurrent. Daily download quota reported by users; the threshold is not publicly listed.
History Long official histories; US CPI back to 1914 with release timestamps per row. Deep price history; more than 14,000 daily rows for EUR/USD on its historical data page.
AI / MCP Official MCP server for Claude, ChatGPT, Cursor, and other clients. None listed.
Licence for programmatic/commercial use Paid plans cover programmatic use; self-serve Commercial Redistribution add-on. Bulk data for personal use only; redistribution needs Stooq's consent*.
Best fit FX traders, quants, event-study builders, automation and AI-agent workflows. Students and personal researchers who want free end-of-day price history across many markets.

* Competitor pricing and terms retrieved from Stooq's public historical data pages, bulk data page, and terms of service in October 2026.

Stooq Access In 2026: API Key And pandas-datareader

For years, Stooq was popular in Python tutorials because a plain URL returned a CSV of daily bars with no sign-up, and pandas-datareader wrapped it as a one-line data source. Both parts of that workflow changed in 2026.

First, Stooq began requiring an API key for CSV downloads. A pandas-datareader issue opened in April 2026 reports that requests from March 2026 onward return an HTML page asking for a key instead of CSV rows, which breaks parsing, and it points to a key-request page on Stooq's site. In October 2026, a CSV request without a key returned "Access denied". Second, pandas-datareader v0.11.0 (June 2026) removed the Stooq reader along with other securities readers it describes as relying on defunct or broken upstream APIs. Users have also reported a daily download quota and temporary blocks after exceeding it, and Stooq does not publish the limit.

How the Stooq-in-Python workflow changed

Before 2026

Keyless CSV URL; DataReader(ticker, "stooq") worked out of the box.

March 2026

CSV downloads return an HTML page asking for an API key; parsers fail.

June 2026

pandas-datareader v0.11.0 removes the Stooq reader.

Now

Request a key on the site, call the CSV URL yourself, and stay within an unpublished daily quota.

Takeaway: Stooq still works for downloading by hand. A scripted pipeline now needs a key, its own download code, and some slack for a quota that is not published.

Dates from the public pandas-datareader issue tracker and release notes; CSV response checked in October 2026.

None of this makes Stooq a bad source. For one-off downloads in a browser it works as before. For a scheduled job that a business depends on, a documented API with published limits is the safer base. FXMacroData documents its REST endpoints in the API reference, publishes its request allowances, and supports Python and JavaScript SDKs, so there is no unofficial wrapper to break.

Price History Versus Release Data

Stooq does carry some macroeconomic series. Its bulk database has a macroeconomy folder, and indicators such as U.S. CPI year-on-year are listed under symbols like CPIYUS.M. The values match the official print: Stooq shows 3.4 for August 2026, the same figure FXMacroData stores from the Bureau of Labor Statistics. The difference is how each row is dated.

Stooq stores each macro observation as an OHLC bar dated to the reference period. August 2026 CPI appears on 31 Aug 2026 with open, high, low, and close all 3.4. The BLS published that number on 11 September 2026 at 12:30 UTC. If a backtest joins Stooq's macro rows to price data on the row date, the model sees CPI about eleven days before anyone could trade on it. That is look-ahead bias. FXMacroData keeps both dates: date for the reference period and announcement_datetime for the second the release came out.

Days between a reference-period date and official publication: last 12 US CPI prints

Each bar is the gap between the date on Stooq's CPIYUS.M row and the BLS publication time stored in FXMacroData's announcement_datetime.

Takeaway: Over the last year, US CPI came out 10 to 24 days after the date its row carries. A backtest that uses the row date assumes it knew CPI one and a half to three weeks early.

Source: Stooq CPIYUS.M historical rows and FXMacroData USD inflation release timestamps (BLS CPI-U, all items, year-on-year, not seasonally adjusted), both checked in October 2026. October 2025 CPI is omitted because BLS did not publish it after the 2025 federal government shutdown; the 20- and 24-day gaps for September and November 2025 reflect releases delayed by that shutdown.

The same applies to any release-driven idea: Non-Farm Payrolls, the Fed policy rate, US unemployment, or the ECB policy rate. You need the publication time, not just the period, to know when the information existed.

Release Timing And Timestamp Precision

Daily price bars from Stooq cannot show what happened in the minutes after a release. Even with Stooq's 5-minute bulk files, you still need to know which bar the release landed in. FXMacroData stores a second-level announcement_datetime on every release row and aims to make each release available within one second of official publication. Releases are typically available within seconds, and the measured record is public at /release-speed. It shows the share of releases available within one second by source and lists every release that took longer. Stooq does not publish a release timestamp or a latency figure for its macro series.

August 2026 US CPI: one number, three dates

Reference period

31 Aug 2026. This is the date on Stooq's row and on FXMacroData's date field.

Scheduled

The release calendar lists 11 Sep 2026, 08:30 New York time.

Published

announcement_datetime 1789129800, which is 2026-09-11 12:30:00 UTC. 3.4% y/y.

Priced

The EUR/USD bar that contains 12:30 UTC on 11 September is where the reaction starts.

Takeaway: The reference date tells you what period the number covers. The publication time tells you when you could trade on it. A backtest needs the second date.

API Example

The FXMacroData side of the join is one call, with the key sent in the X-API-Key header:

curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/announcements/usd/inflation"

Example response (abridged):

{
  "currency": "USD",
  "indicator": "inflation",
  "source": "BLS",
  "data": [
    {"date": "2026-08-31", "val": 3.4, "previous_value": 3.4, "val_mom": 0.4, "announcement_datetime": 1789129800},
    {"date": "2026-07-31", "val": 3.4, "previous_value": 3.5, "val_mom": 0.1, "announcement_datetime": 1786537800},
    {"date": "2026-06-30", "val": 3.5, "previous_value": 4.2, "val_mom": -0.4, "announcement_datetime": 1784032200}
  ]
}

From FXMacroData

  • announcement_datetime: the join key, epoch seconds UTC.
  • date: the reference period, for labelling.
  • val and previous_value: the print and the one before it.

From a Stooq price file

  • Date (and time, for intraday bulk files).
  • Open, high, low, close.
  • Volume where the instrument has it.

Join rule

  • Convert both sides to UTC.
  • Use merge_asof on the release time, never on the reference date.
  • Measure the return from the bar before to the bar after.

Takeaway: Price bars from any source can be joined to FXMacroData release times. The point is to join on publication time, which Stooq's macro rows do not include.

Coverage And History

Stooq covers more markets. Its bulk database is split into world, US, UK, Japan, Hong Kong, Poland, and Hungary folders, with daily files for all of them and hourly and 5-minute files for most. Its historical data pages offer daily, weekly, monthly, quarterly, and yearly intervals, with options to skip splits and dividends. For equities and indices, especially Polish and Central European markets, it covers more than most free sources.

FXMacroData is narrower and goes deeper on FX macro. It covers 22 currencies in the production API: USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD, BRL, CNH, CNY, DKK, HUF, ILS, KRW, MYR, NGN, NOK, PEN, SEK, THB, and TWD. That includes more than 700 indicator series from official statistics agencies and central banks, with source metadata on each series. It also has FX spot rates, CFTC COT positioning for the major currency futures, government bond yields and curves, commodities, central-bank press releases from the Federal Reserve, ECB, Bank of Japan, and Bank of England, FX session views, and pair dashboards such as USD/JPY, GBP/USD, and AUD/USD.

Where Stooq Is Genuinely Stronger

Stooq is the better choice for some jobs:

  • Free, broad price history. Decades of daily bars for FX pairs, global indices, stocks, bonds, and commodities at no cost.
  • Bulk intraday files. Daily, hourly, and 5-minute ASCII files by market, refreshed daily, which suits offline research.
  • Equities and regional markets. Polish, Hungarian, and wider European stock coverage that FXMacroData does not try to match.
  • Hand downloads. For a quick chart or a one-off spreadsheet, a browser download is hard to beat.

If you need free end-of-day prices for your own research, Stooq does that job and FXMacroData does not replace it.

Where FXMacroData Is Stronger

FXMacroData is stronger when the work depends on knowing when macro information became public, or when the data feeds a product, a team, or an automated system.

FXMacroData pros

  • Second-level release timestamps and a public release-speed record.
  • Documented REST/OpenAPI, SDKs, SSE, GraphQL, and MCP.
  • Published plans, allowances, and a commercial redistribution licence.

FXMacroData tradeoffs

  • Not an equity or index price archive.
  • Non-USD data requires a paid plan after the trial.
  • Focused on 22 currencies rather than every market.

Stooq pros

  • Free price history across many asset classes.
  • Bulk daily, hourly, and 5-minute files.
  • Strong regional equity coverage.

Stooq tradeoffs

  • Personal use only; redistribution needs consent.
  • API key now required; pandas-datareader reader removed; quota not published.
  • Macro rows dated to the reference period, with no publication time.

Takeaway: Stooq is a solid free price archive for personal research. FXMacroData is the better choice when you need macro releases with publication times, a stable API, and a licence that covers business use.

Decision Matrix

User type Better fit Why
Student or hobbyist charting prices Stooq Free, broad, and fine under a personal-use licence.
Equity researcher on regional markets Stooq Stock and index coverage outside FXMacroData's scope.
FX event-study or macro backtest builder FXMacroData (plus a price source) Publication timestamps avoid look-ahead bias; join to any price bars.
Scheduled Python pipeline FXMacroData Documented API, SDKs, and published limits instead of a removed wrapper and an unpublished quota.
Product team, fund, or signal vendor FXMacroData Business plan and self-serve redistribution licence; Stooq prohibits commercial use of its bulk data.
AI assistant or agent builder FXMacroData Official MCP server and OpenAPI; no AI integration listed for Stooq.

Recommendation

Keep using Stooq if you want free end-of-day prices across many markets for your own research. It is still a useful archive, and for hand downloads not much has changed. If you script against it, plan for the API key, write your own download code now that the pandas-datareader reader is gone, and leave room for the daily quota. Read the terms before using the data for anything beyond personal work.

Add FXMacroData when the research depends on the economy and on timing: when CPI printed, where the policy rate stood, what payrolls showed, and the exact second each release became public. Start with the free USD tier to test the join on US releases, then move to Individual for the other 21 currencies. If you are also comparing free price sources, see FXMacroData vs yfinance and FXMacroData vs Dukascopy historical data. When you are ready, compare plans, read the API reference, check the release-speed record, connect an assistant through AI trading workflows, or start a trial.

Bottom line: Stooq gives you free price history for personal research. FXMacroData gives you official macro releases with second-level publication timestamps, a documented API, and a licence that covers commercial use. For event-driven FX work, take prices from wherever you like and take release timing from FXMacroData, then join on UTC.

Sources Checked

The claims about Stooq on this page come from its public pages and from public pandas-datareader records, checked in October 2026. Where Stooq does not publish a figure, such as its download quota, this page says so rather than guessing.

Stooq terms of service

Redistribution needs consent; S&P and LME licensed-data conditions.

View source

Stooq free historical data

Bulk daily, hourly, and 5-minute files by market; personal-use-only notice.

View source

Stooq EUR/USD and US CPI history

Historical data pages, intervals, CSV link, and CPIYUS.M row dating.

View source

pandas-datareader issue #1012

Report that Stooq requires an API key from March 2026.

View source

pandas-datareader release notes

v0.11.0 (June 2026) removes the Stooq reader.

View source

FXMacroData pricing and docs

Plans, request allowances, redistribution add-on, API reference.

View pricing

Takeaway: Stooq's data is free and its terms are public. What it does not offer is a commercial licence, publication timestamps, or a documented API, and FXMacroData publishes all three.

FXMacroData API data

Data endpoints used in this article

No FXMacroData API data endpoint is attributed to this article. Its evidence base is identified in the article and source links.

Explore the FXMacroData API reference

Frequently asked

Questions about this topic

Is Stooq or FXMacroData better for FX macro data?

Stooq is better for free historical price data across FX, indices, stocks, and commodities for personal research. FXMacroData is better for official macroeconomic releases across 22 currencies with second-level announcement timestamps, a documented API, and a licence that covers commercial use.

Does Stooq require an API key now?

Yes. A pandas-datareader issue reports that from March 2026 Stooq's CSV download returns a page asking for an API key instead of data, and a keyless CSV request returned Access denied when checked in October 2026. The key is requested through Stooq's website.

Does pandas-datareader still support Stooq?

No. pandas-datareader v0.11.0, released in June 2026, removed the Stooq reader along with other securities readers. Scripts that used DataReader with the stooq source need their own download code and a Stooq API key.

Can I use Stooq data commercially?

Stooq's bulk data page says the data is intended solely for personal use and that commercial use is prohibited, and its terms say redistribution needs Stooq's consent. FXMacroData publishes paid plans and a self-serve Commercial Redistribution add-on at $10/month per block of up to 100 measured users.

Why can Stooq macro series cause look-ahead bias?

Stooq dates each macro observation to its reference period, for example August 2026 US CPI on 31 Aug 2026, while the BLS published it on 11 September 2026. FXMacroData stores both the reference date and the second-level announcement_datetime, so a backtest can join on publication time.

How much does FXMacroData cost compared with Stooq?

Stooq is free for personal use. FXMacroData has an Always Free USD tier with 100 requests/day, an Individual plan at $50/month or $500/year with a 14-day trial and 1,000,000 requests/month, and a Business plan at $250/month for teams of up to 10 people.

Keep reading

Blogroll

AI Answer-Ready

Key Facts

Page
FXMacroData vs Stooq: Free Historical Price Downloads vs FX Macro Data
Section
Articles
Canonical URL
https://fxmacrodata.com/articles/fxmacrodata-vs-stooq
Source
FXMacroData editorial and official publisher references
Last Updated
2026-10-05 11:58 UTC

Provenance And Trust

Cite the canonical URL and source field above. Where available, this page maps to official publisher releases and timestamped updates.

Quick Q&A

Is Stooq or FXMacroData better for FX macro data? Stooq is better for free historical price data across FX, indices, stocks, and commodities for personal research. FXMacroData is better for official macroeconomic releases across 22 currencies with second-level announcement timestamps, a documented API, and a licence that covers commercial use.

Does Stooq require an API key now? Yes. A pandas-datareader issue reports that from March 2026 Stooq's CSV download returns a page asking for an API key instead of data, and a keyless CSV request returned Access denied when checked in October 2026. The key is requested through Stooq's website.

Does pandas-datareader still support Stooq? No. pandas-datareader v0.11.0, released in June 2026, removed the Stooq reader along with other securities readers. Scripts that used DataReader with the stooq source need their own download code and a Stooq API key.

Can I use Stooq data commercially? Stooq's bulk data page says the data is intended solely for personal use and that commercial use is prohibited, and its terms say redistribution needs Stooq's consent. FXMacroData publishes paid plans and a self-serve Commercial Redistribution add-on at $10/month per block of up to 100 measured users.

Prompt Packs

Use these in ChatGPT, Claude, Gemini, Mistral, Perplexity, or Grok for consistent source-aware outputs.

Share page X LinkedIn Email