ApiMacro · early access

Economic data for trading bots, at the speed of the source.

ApiMacro delivers NFP, CPI, central bank decisions and more, read directly from official institutions and pushed to your bot as a ready-to-trade message.

From €20/month · cancel anytime

What you see

US Nonfarm Payrolls

Bureau of Labor Statistics · Oct 2026

High

Actual

143K

Consensus

110K

Previous

22K

Surprise

+33K (+30%)

USD bias

Bullish · strong

DXYEURUSDXAUUSDUS500

What your bot receiveswss · release

{
  "type": "release",
  "seq": 18231,
  "event_id": "US.NONFARM_PAYROLLS.2026-11-06",
  "indicator": {
    "id": "US.NONFARM_PAYROLLS",
    "name": "Nonfarm Payrolls",
    "country": "US",
    "currency": "USD",
    "category": "labor",
    "impact": "high",
    "source": "bls.gov"
  },
  "period": "2026-11",
  "unit": "K",
  "actual": 143,
  "consensus": 110,
  "previous": 22,
  "surprise": {
    "vs_consensus": 33,
    "vs_consensus_pct": 30,
    "direction": "above",
    "size": "large"
  },
  "interpretation": {
    "higher_is": "bullish",
    "currency_bias": "bullish",
    "market_bias": {
      "DXY": "up",
      "EURUSD": "down",
      "XAUUSD": "down",
      "US500": "down"
    }
  },
  "timestamps": {
    "scheduled": "2026-11-06T13:30:00.000Z",
    "detected": "2026-11-06T13:30:00.312Z",
    "sent": "2026-11-06T13:30:00.312Z"
  },
  "plan_delay_ms": 0
}

Next major release

CPI YoY

Wednesday, October 14 at 12:30 PM UTC · Your time 12:30 PM · bls.gov

--days
--hours
--min
--sec

Consensus —

Previous 3.4%

Then

  • Core CPI MoMOct 14 · in d
  • Retail Sales MoMOct 15 · in d
  • Fed Interest Rate DecisionOct 28 · in d
  • Nonfarm PayrollsNov 06 · in d
Full calendar

Read directly from the institutions that publish the data

  • BLS
  • BEA
  • Census
  • Fed
  • EIA
  • USDA
  • ECB
  • Eurostat
  • ONS
  • BoE
  • StatCan
  • BoC
  • ABS
  • RBA
  • BoJ
  • SNB

Everything a bot needs to act on a release

Straight from the source

We read the official release pages of the BLS, Fed, ECB, ONS and others the moment they go live. No news wires, no rumours.

Ready-to-trade messages

Every release comes with the consensus, the surprise, its size and the expected direction for the currency, so your bot can decide in microseconds.

Built for automation

One WebSocket, one API key. SDKs for Python and Node.js, and a ready-made Expert Advisor for MetaTrader 5.

From publication to your bot

  1. 01

    08:30:00.000

    The institution publishes the release.

  2. 02

    +0.3 s

    ApiMacro reads, parses and verifies the value.

  3. 03

    Your plan

    The message reaches your bot, in real time on Ultra.

Pick your speed.

Same data on every plan. You only pay for how fast it reaches your bot.

Starter

For testing strategies and slower systems.

€20/month

Delivery+1 s
  • 1 live connection(s)
  • All countries and categories
  • Consensus, surprise and USD bias
  • WebSocket, REST and webhooks
  • Python, Node.js and MT5

Pro

For active bots that need fast data.

€45/month

Delivery+250 ms
  • 3 live connection(s)
  • All countries and categories
  • Consensus, surprise and USD bias
  • WebSocket, REST and webhooks
  • Python, Node.js and MT5
Super fast

Ultra

Super fast. The lowest latency we can deliver.

€80/month

DeliveryReal time
  • 5 live connection(s)
  • All countries and categories
  • Consensus, surprise and USD bias
  • WebSocket, REST and webhooks
  • Python, Node.js and MT5
  • Priority delivery from the nearest region

Prices excl. VAT. Cancel anytime.

Connect in a few lines

Copy your API key from the dashboard, open the WebSocket, and handle releases in your strategy.

Docs
import json, websocket  # pip install apimacro websocket-client

API_KEY = "am_live_xxxxxxxxxxxxxxxx"

def on_message(ws, raw):
    msg = json.loads(raw)
    if msg["type"] != "release":
        return
    ind, bias = msg["indicator"], msg["interpretation"]["currency_bias"]
    print(ind["name"], msg["actual"], "vs", msg["consensus"], "->", ind["currency"], bias)
    if ind["currency"] == "USD" and bias != "neutral" and msg["surprise"]["size"] != "small":
        side = "SELL" if bias == "bullish" else "BUY"   # gold usually moves against USD
        print("XAUUSD", side)

ws = websocket.WebSocketApp(
    "wss://stream.apimacro.com/v1/stream",
    header={"Authorization": f"Bearer {API_KEY}"},
    on_message=on_message,
)
ws.run_forever()

Coverage

Major economies and the releases that move markets.

  • United States
  • Euro Area
  • United Kingdom
  • Canada
  • Australia
  • New Zealand
  • Japan
  • Switzerland
  • China

Categories

  • Labour market
  • Inflation
  • Growth
  • Central banks
  • Consumer
  • Housing
  • Energy
  • Trade

Questions, answered.

Start receiving releases in minutes.

Create your account, pick a plan, connect your bot.

Get started