ForexFactory Calendar Scraper
Pricing
from $5.95 / 1,000 results
ForexFactory Calendar Scraper
Scrape scheduled economic releases from Trading Economics, Nasdaq and ForexFactory. Results include event dates and times in UTC, country or currency, importance, and available release values. The ForexFactory weekly feed can also add impact ratings to matching Trading Economics and Nasdaq events.
Pricing
from $5.95 / 1,000 results
Rating
0.0
(0)
Developer
Axiom Works
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Returns: one row per economic event with datetimeUtc, country, currency, event, importance, actual, consensus and forecast.
Input: {"dateRange": "thisWeek", "countries": ["United States"], "minImportance": "medium", "maxItems": 100}
Best for: macro trading dashboards, news and alert bots that react to data releases, and research datasets of historical releases.
{"id": "te-399075","datetimeUtc": "2026-10-14T12:30:00Z","country": "United States","currency": "USD","event": "Inflation Rate YoY","importance": "high","actual": "3.7%","forecast": "3.6%"}
What does Economic Calendar Scraper do?
Economic Calendar Scraper is an economic calendar API for data releases and central bank events. Give it a date range, optionally a list of countries and a minimum importance, and it returns one structured row for every scheduled release: the time in UTC, the country and currency, the event name, and the actual, previous, consensus and forecast values as the source displays them. You can use it as a Trading Economics scraper, a Nasdaq economic events scraper, or a ForexFactory calendar scraper, or combine the three in one run.
The default source is the public Trading Economics calendar. It covers more than 250 countries and has an importance rating (low, medium, high), a category, a reference period such as SEP or Q3, a ticker and a link to the indicator page. The Nasdaq source adds one request per day, works for any past or future date, and includes a plain-language description when the source supplies one. The ForexFactory source is the public weekly feed with impact ratings for the current week; it is also used to add a forexFactoryImpact value to Trading Economics and Nasdaq rows that fall in the same week and match on currency, time and title.
All times are converted to UTC so you can sort and join rows across sources. Values are kept as strings exactly as shown (-39.3K, 3.3%, 3.99M), so units are never lost. No login is needed and no cookies or accounts are required from you.
Use the records for trading dashboards, release alerts and historical comparisons.
What data can you get from Trading Economics, Nasdaq and ForexFactory?
Every row has the same fields. Fields a source does not provide are null, for example description is only filled for Nasdaq rows and ticker only for Trading Economics rows.
| Field | Description | Example |
|---|---|---|
id | Stable ID with a source prefix (te-, nq-, ff-), unique within a run | te-399064 |
source | tradingeconomics, nasdaq or forexfactory | tradingeconomics |
date | Event date in UTC, YYYY-MM-DD | 2026-10-13 |
time | Event time in UTC, HH:MM, null when the source gives no time | 14:00 |
datetimeUtc | ISO 8601 timestamp in UTC | 2026-10-13T14:00:00Z |
country | Country name (null on ForexFactory rows, which only give a currency) | United States |
countryCode | Trading Economics country code | US |
currency | ISO 4217 currency of the country, or the feed currency on ForexFactory rows | USD |
event | Name of the release or event | Existing Home Sales |
reference | Period the release refers to | SEP |
category | Indicator category in lowercase | existing home sales |
importance | low, medium, high or holiday (null for Nasdaq rows) | high |
actual | Released value as displayed, null before the release | 3.99M |
previous | Previous value as displayed | 3.93M |
revised | Revised previous value, when the source revised it | 3.98M |
consensus | Market consensus as displayed | 3.95M |
forecast | Forecast as displayed | 3.97M |
forexFactoryImpact | ForexFactory impact rating (Low, Medium, High, Holiday) for events in the current week | High |
ticker | Trading Economics indicator symbol | UNITEDSTAEXIHOMSAL |
eventUrl | Trading Economics indicator page | https://tradingeconomics.com/united-states/existing-home-sales |
description | Explanation of the indicator (Nasdaq rows) | German Retail Sales measures the change in... |
scrapedAt | Timestamp of the run | 2026-10-15T19:14:27.693Z |
sourceUrl | Page or API endpoint the row came from | https://tradingeconomics.com/united-states/existing-home-sales |
Rows from different sources are not merged. If you select Trading Economics and Nasdaq, the same release can appear twice, once per source, and the source field tells them apart. Filter on source if you want a single feed.
How to use Economic Calendar Scraper
- Open the Actor on Apify and go to the Input tab.
- Choose a
dateRange, for examplethisWeek, or pickcustomand enterstartDateandendDate. - Add countries as names (
United States,Euro Area,Germany) or as Trading Economics ISO3 codes (usa,emu,gbr,jpn). Leave the list empty to get every country. - Set
minImportancetomediumorhighto drop minor releases, and choose the sources you want. - Set
maxItems, press Start, and export the dataset as JSON, CSV, Excel, XML or RSS when the run finishes.
A few tips. Weeks run from Monday to Sunday and all times are UTC. Rows are sorted by time and country, so maxItems keeps the earliest events in the range. A custom range can span at most 31 days. For Trading Economics, the custom range must fall inside one of its guest windows (roughly the last 30 days up to the end of next month); for any other dates, add nasdaq to sources, which accepts any date. If a custom range does not fit a Trading Economics window, the Actor falls back to Nasdaq for those days and logs a warning.
Input
| Field | Type | Required | Description |
|---|---|---|---|
dateRange | string | No | today, tomorrow, yesterday, thisWeek (default), nextWeek, lastWeek, thisMonth, nextMonth, last30Days or custom |
startDate | string | With custom | First day, YYYY-MM-DD |
endDate | string | No | Last day, YYYY-MM-DD, at most 31 days after startDate |
countries | array of strings | No | Country names or ISO3 codes. Empty means all countries. Unknown values are skipped with a warning |
minImportance | string | No | low (default), medium or high. Nasdaq rows have no rating and are left out unless this is low |
sources | array of strings | No | Any of tradingeconomics (default), nasdaq, forexfactory |
addForexFactoryImpact | boolean | No | Add forexFactoryImpact to rows in the current week. Default true |
currencies | array of strings | No | Currency codes such as USD or EUR, case-insensitive. Empty (default) keeps all |
eventKeywords | array of strings | No | Literal phrases matched against event titles, case-insensitive. Any phrase may match; empty keeps all |
categories | array of strings | No | Exact Trading Economics category values, case-insensitive. Empty keeps all; other sources have no category |
maxItems | integer | No | Maximum rows across all sources, 1-10000, default 100 |
proxyConfiguration | object | No | Proxy settings. Default: no proxy. Enable Apify Proxy if the sites block your runs |
{"dateRange": "thisWeek","countries": ["United States", "Euro Area"],"minImportance": "medium","sources": ["tradingeconomics"],"addForexFactoryImpact": true,"maxItems": 100,"proxyConfiguration": { "useApifyProxy": false }}
To monitor inflation without collecting unrelated releases, add "eventKeywords": ["inflation"]. To follow a currency across several countries, use "currencies": ["EUR"] and leave countries empty. To select an exact Trading Economics indicator category, use "categories": ["inflation rate"]; this excludes Nasdaq and ForexFactory rows because their category is null. Category values are the source's labels, such as inflation rate mom, rather than broad themes inferred from titles.
These three filters are optional and default to empty lists. Multiple values within one filter are alternatives; different filters apply together with countries, date range and importance. For example, a USD currency filter combined with Germany will normally return no rows. Keywords are literal substrings, not regular expressions or translations. A non-English phrase only matches if that text occurs in the source's event title. An unknown currency, category or unmatched keyword returns a successful empty dataset with a message suggesting fewer filters. Filters apply before saving and charging: maxItems is the shared maximum of matching records, so skipped rows consume no results. They do not reduce upstream requests because source pages are collected before filtering and chronological sorting.
For a fixed historical window from Nasdaq only:
{"dateRange": "custom","startDate": "2026-09-01","endDate": "2026-09-03","countries": ["Germany"],"sources": ["nasdaq"],"maxItems": 50}
The Nasdaq source labels its time column as GMT, but the values are US Eastern time. The Actor converts them from America/New_York to UTC, including daylight saving changes, so time and datetimeUtc are comparable across sources.
When a ForexFactory currency filter is needed, countries are mapped to their currency, so selecting Germany for the ForexFactory source returns EUR rows. ForexFactory rows have no country name, only the currency.
Output
Each run writes one dataset item per event. Two real rows from Trading Economics and one from Nasdaq:
[{"id": "te-399064","source": "tradingeconomics","date": "2026-10-13","time": "14:00","datetimeUtc": "2026-10-13T14:00:00Z","country": "United States","countryCode": "US","currency": "USD","event": "Existing Home Sales","reference": "SEP","category": "existing home sales","importance": "high","actual": "3.99M","previous": "3.93M","revised": "3.98M","consensus": "3.95M","forecast": "3.97M","forexFactoryImpact": null,"ticker": "UNITEDSTAEXIHOMSAL","eventUrl": "https://tradingeconomics.com/united-states/existing-home-sales","description": null,"scrapedAt": "2026-10-15T19:14:27.693Z","sourceUrl": "https://tradingeconomics.com/united-states/existing-home-sales"},{"id": "te-398650","source": "tradingeconomics","date": "2026-10-14","time": "12:30","datetimeUtc": "2026-10-14T12:30:00Z","country": "United States","countryCode": "US","currency": "USD","event": "Core Inflation Rate MoM","reference": "SEP","category": "core inflation rate mom","importance": "high","actual": "0.3%","previous": "0.3%","revised": null,"consensus": "0.2%","forecast": "0.2%","forexFactoryImpact": null,"ticker": "USACIRM","eventUrl": "https://tradingeconomics.com/united-states/core-inflation-rate-mom","description": null,"scrapedAt": "2026-10-15T19:14:27.693Z","sourceUrl": "https://tradingeconomics.com/united-states/core-inflation-rate-mom"},{"id": "nq-2026-09-02-germany-german-retail-sales-02-00-0","source": "nasdaq","date": "2026-09-02","time": "06:00","datetimeUtc": "2026-09-02T06:00:00Z","country": "Germany","countryCode": null,"currency": "EUR","event": "German Retail Sales","actual": "-3.4%","previous": "0.0%","consensus": "0.4%","description": "German Retail Sales measures the change in the total value of inflation-adjusted...","sourceUrl": "https://api.nasdaq.com/api/calendar/economicevents?date=2026-09-02"}]
The third record is shortened here for readability; real rows always contain every field, with null where a source has no value. Results can be exported as JSON, CSV, Excel, XML or RSS from the dataset page, or read through the API.
How much does it cost to scrape the economic calendar?
Economic Calendar Scraper is charged per result. You pay only for the rows returned, and maxItems caps how many that can be. See the Pricing tab for the current price. A typical week for one or two countries is a few dozen rows; an all-country run over a week is larger, so set maxItems if you only need the first entries.
Use with AI agents (MCP)
Connect Economic Calendar Scraper to Claude, Cursor or any MCP client through the Apify MCP server:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=axiomworks/economic-calendar-scraper"}}}
Example prompts:
- "List the high-importance US economic releases this week with their consensus and actual values."
- "What euro area data releases are scheduled tomorrow, in UTC?"
- "Get the German events from the Nasdaq calendar between 2026-09-01 and 2026-09-03."
The input fields are described for agents: dateRange has a closed list of values, countries takes names or ISO3 codes, and a request that matches nothing returns zero rows with a status message instead of an error.
Integrations and API
Run Economic Calendar Scraper from your own code with the Apify API. Set APIFY_TOKEN to your Apify API token (send it in the Authorization header, never in the URL).
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("axiomworks/economic-calendar-scraper").call(run_input={"dateRange": "thisWeek", "countries": ["United States"], "minImportance": "medium", "maxItems": 100})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["datetimeUtc"], item["country"], item["event"], item["actual"], item["consensus"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('axiomworks/economic-calendar-scraper').call({dateRange: 'thisWeek',countries: ['United States'],minImportance: 'medium',maxItems: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
cURL
curl -X POST "https://api.apify.com/v2/acts/axiomworks~economic-calendar-scraper/run-sync-get-dataset-items" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"dateRange": "thisWeek", "countries": ["United States"], "minImportance": "medium", "maxItems": 100}'
Use the Integrations tab to send results to Make, Zapier, n8n, Google Sheets or a webhook, or schedule the Actor to run every morning before the market opens.
FAQ
How fresh is the data? Trading Economics and Nasdaq are fetched live. The ForexFactory feed may be reused for up to 15 minutes to avoid rate limits. Released values depend on source updates.
Why did my run return 0 rows?
The status message says why. The usual causes are a country name the Actor does not recognise (use a name like Euro Area or an ISO3 code like emu), a minImportance that is too high for a small country, or choosing only the Nasdaq source together with medium or high, because Nasdaq rows are not rated.
Why are some forexFactoryImpact values empty?
The ForexFactory feed covers the current week only and has no entry for every release. A Trading Economics or Nasdaq row gets a value only when a ForexFactory row has the same currency and UTC time and shares a word with the event title. If the feed is rate limited, the run continues without it.
Are the values numbers?
No, they are strings as displayed, with units such as K, M, B and %, so nothing is lost in conversion. Parse them in your own pipeline if you need numbers.
Can I get every country at once?
Yes, leave countries empty. Trading Economics shows guests at most 1000 rows per request, so the Actor splits the country list into several requests when needed and removes duplicates.
What time zone are the times in? UTC for all sources. Trading Economics times are requested in UTC, ForexFactory times are converted from their offset, and Nasdaq times are converted from US Eastern.
Do I need a proxy?
Usually not. If requests are blocked, enable Apify Proxy in the proxyConfiguration input; blocked or rate-limited requests are retried on a new session.
Can I get dates far in the past?
Use the Nasdaq source with a custom range of up to 31 days; it accepts any past or future date. Trading Economics only serves a rolling guest window.
Is it legal to scrape economic calendar data?
Economic Calendar Scraper collects publicly visible calendar data that loads without logging in. It does not bypass logins or CAPTCHAs. You are responsible for how you use the data, including any terms of the source sites and local laws. This is not legal advice.
Economic Calendar Scraper is an independent tool. It is not affiliated with, endorsed by or sponsored by Trading Economics, Nasdaq or ForexFactory.
Feedback
Found a bug or need a field that isn't here? Open an issue on the Issues tab and we'll look at it.