# Forex Factory API

> Forex Factory returns economic events, forecasts and actual values as a workflow and API.

Forex Factory lists weekly economic events with impact, currency, forecast, previous and released actual values. Get forex calendar takes a week, impact, currency and time zone to return events in time order.

- Page: https://fous.com/tools/forex-factory
- Handle: `@forex-factory`
- Category: [Finance](https://fous.com/tools/category/finance)
- Source website: https://forexfactory.com
- Last verified: Sep 29, 2026

## Methods

### Get forex calendar

Operation `get_forex_calendar`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List this week’s or next week’s Forex Factory economic events in time order, with impact, forecast, previous and released actual values. Times use the chosen time zone; all-day and tentative events have no exact time.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `week` | string | no | `"this_week"` | Calendar week to show, for example next_week. |
| `impact` | string | no | `"high"` | Impact level to show, for example high; all shows every level. |
| `currency` | string | no | `"USD"` | Currency code or name, such as USD or euro; all shows every currency. |
| `timezone` | string | no | `"New York"` | City or IANA time zone for event times, such as London or Europe/London. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "week": {
      "enum": [
        "this_week",
        "next_week"
      ],
      "type": "string",
      "default": "this_week",
      "description": "Calendar week to show, for example next_week.",
      "examples": [
        "this_week",
        "next_week"
      ]
    },
    "impact": {
      "enum": [
        "high",
        "medium",
        "low",
        "holiday",
        "all"
      ],
      "type": "string",
      "default": "all",
      "description": "Impact level to show, for example high; all shows every level.",
      "examples": [
        "high",
        "medium",
        "all"
      ]
    },
    "currency": {
      "type": "string",
      "default": "all",
      "description": "Currency code or name, such as USD or euro; all shows every currency.",
      "examples": [
        "USD",
        "euro"
      ]
    },
    "timezone": {
      "type": "string",
      "default": "New York",
      "description": "City or IANA time zone for event times, such as London or Europe/London.",
      "examples": [
        "New York",
        "London",
        "America/Los_Angeles"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "week": "this_week",
      "impact": "high",
      "currency": "USD",
      "timezone": "New York"
    },
    {
      "week": "next_week",
      "impact": "medium",
      "currency": "euro",
      "timezone": "London"
    },
    {
      "week": "this_week",
      "impact": "all",
      "currency": "USD",
      "timezone": "America/Los_Angeles"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `events` | array |  |  |
| `events[].date` | string | `"2026-09-30"` | Date in the chosen time zone for timed events, or the calendar date for all-day and tentative events. |
| `events[].event` | string | `"Core PCE Price Index m/m"` |  |
| `events[].actual` | string or null |  |  |
| `events[].impact` | string | `"High"` |  |
| `events[].currency` | string | `"USD"` |  |
| `events[].forecast` | string or null | `"0.3%"` |  |
| `events[].page_url` | string | `"https://www.forexfactory.com/calendar/85-us-core-pce-price-index-mm"` |  |
| `events[].previous` | string or null | `"0.2%"` |  |
| `events[].date_time` | string or null | `"2026-09-30T08:30:00-04:00"` | Event time in the selected time zone as ISO 8601 with offset; null for all-day or tentative events. |

**Example input**

```json
{
  "week": "this_week",
  "impact": "high",
  "currency": "USD",
  "timezone": "New York"
}
```

**Example output**

```json
{
  "events": [
    {
      "date": "2026-09-30",
      "event": "Core PCE Price Index m/m",
      "actual": null,
      "impact": "High",
      "currency": "USD",
      "forecast": "0.3%",
      "page_url": "https://www.forexfactory.com/calendar/85-us-core-pce-price-index-mm",
      "previous": "0.2%",
      "date_time": "2026-09-30T08:30:00-04:00"
    },
    {
      "date": "2026-09-30",
      "event": "Final GDP q/q",
      "actual": null,
      "impact": "High",
      "currency": "USD",
      "forecast": "1.5%",
      "page_url": "https://www.forexfactory.com/calendar/28-us-final-gdp-qq",
      "previous": "1.5%",
      "date_time": "2026-09-30T08:30:00-04:00"
    },
    {
      "date": "2026-10-02",
      "event": "Average Hourly Earnings m/m",
      "actual": null,
      "impact": "High",
      "currency": "USD",
      "forecast": "0.3%",
      "page_url": "https://www.forexfactory.com/calendar/159-us-average-hourly-earnings-mm",
      "previous": "0.3%",
      "date_time": "2026-10-02T08:30:00-04:00"
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@forex-factory",
  "visibility": "public",
  "operation": "get_forex_calendar",
  "version": 1,
  "input": {
    "week": "this_week",
    "impact": "high",
    "currency": "USD",
    "timezone": "New York"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@forex-factory\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_forex_calendar\",\n  \"version\": 1,\n  \"input\": {\n    \"week\": \"this_week\",\n    \"impact\": \"high\",\n    \"currency\": \"USD\",\n    \"timezone\": \"New York\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@forex-factory",
  "visibility": "public",
  "operation": "get_forex_calendar",
  "version": 1,
  "input": {
    "week": "this_week",
    "impact": "high",
    "currency": "USD",
    "timezone": "New York"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/forex-factory`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_forex_calendar`: Get forex calendar. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-forex-factory https://api.fous.com/mcp/tools/forex-factory --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Track upcoming economic events by currency and impact.
- Compare released actual values with forecasts and previous values.
- Plan around event times in a selected time zone.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Forex Factory tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Forex Factory account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from forexfactory.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### What high-impact events are coming up for USD?

Get forex calendar returns events for a selected week, impact level, currency and time zone.

### What were an event’s forecast and actual values?

Get forex calendar returns forecast, actual and previous values for listed events.

### When does an event occur in London time?

Get forex calendar accepts London as the time zone; all-day and tentative events have no exact time.

## Related

- [Investing.com API](https://fous.com/tools/investing-com.md): Investing.com provides financial markets data and news, economic releases up to 31 days, and current commodity prices and government bond yields, which may be delayed or indicative.
- [Yahoo Finance API](https://fous.com/tools/yahoo-finance.md): Yahoo Finance provides quotes, movers, company financials, analyst ratings, earnings, news, and up to 5,000 price rows with adjusted returns; prices may be delayed.
- [FRED API](https://fous.com/tools/fred.md): FRED provides public economic series, observations, latest values, sources, and popular topic searches with coverage dates and metadata; freshness varies by series.
- [IMF API](https://fous.com/tools/imf.md): IMF economic data provides country and regional forecasts with actual or forecast labels, and country rankings by World Economic Outlook indicators, excluding groups and missing values.
- [Trading Economics API](https://fous.com/tools/trading-economics.md): Trading Economics provides economic indicators, market data and country statistics, including country overviews, latest reported country comparisons and current commodity prices reflecting reported trading days.
- [Nasdaq API](https://fous.com/tools/nasdaq.md): Nasdaq provides market activity, scheduled earnings by date with fiscal quarter-end month, monthly US IPO listings, and dated ex-dividend entries; dividend histories cover Nasdaq-listed stocks only.
- [Kalshi API](https://fous.com/tools/kalshi.md): Prediction markets for real-world events.
- [European Central Bank API](https://fous.com/tools/european-central-bank.md): The European Central Bank provides official euro reference rates and informational currency conversions using the latest preceding published rates when needed, plus current key interest rates and optionally earlier changes.
- [All Finance tools](https://fous.com/tools/category/finance)
