API workflow guide

What do you want to build?

Choose the outcome closest to your job. Each path gives you one working request, what the response should contain, how to check it worked, and the next useful step.

Five practical paths

Start with the outcome, not the endpoint list.

Selected: Build a macro model

Your 14-day API trial

Move from first request to a job worth keeping.

The goal is not to visit every product page. It is to complete useful authenticated API work, return on another day, and leave with a repeatable dataset or application workflow.

Check API progress

Day 0

Prove access

Create the key, complete one authenticated request, and save the first response with its metadata.

Open step →

Days 1-2

Make the request dependable

Resolve authentication or filter problems and turn the first script into a named repeatable job.

Open step →

Days 3-4

Add release timing

Use the calendar as a second endpoint family and schedule the next useful API run.

Open step →

Days 5-7

Build the research output

Add expectations or a small group of macro series, then produce one saved comparison, table, or scorecard.

Open step →

Days 8-10

Automate updates

Choose scheduled REST, SSE, or webhooks and complete another successful API run on a different day.

Open step →

Days 11-13

Harden the client

Add timeouts, bounded retries, response validation, credential-safe logging, and stale-data monitoring.

Open step →

Day 14

Review evidence

Confirm the API supplies a repeatable job your team will keep, then choose the next dataset or application workflow.

Open step →

Research system

Build a repeatable FX macro model

Start with policy, inflation, labour, and growth. Store observations and metadata consistently, then add scoring only after the underlying dataset is stable.

30 minutes Complete workflow data catalogueannouncementscalendarpredictions

Working example

Keep your key in FXMD_API_KEY; never paste it into source control.

import os
import requests

root = "https://api.fxmacrodata.com/v1/announcements/eur"
series = {}
for indicator in ("policy_rate", "inflation", "unemployment", "gdp"):
    response = requests.get(
        f"{root}/{indicator}",
        params={"api_key": os.environ["FXMD_API_KEY"], "limit": 12},
        timeout=20,
    )
    response.raise_for_status()
    series[indicator] = response.json()
print(series.keys())

Expected result: Four consistently structured EUR datasets ready for normalization, scoring, and scheduled refreshes.

When the first script becomes a real system

Troubleshooting and production guidance

Use these guides when a response fails, returns no data, or needs production controls such as caching, timeouts, retries, and event delivery.

GuideUse it whenStart
Diagnose a failed or empty response Separate authentication, access, path, rate-limit, and data-availability problems without exposing your key. Open guide →
Make an API client production-ready Add timeouts, bounded retries, caching, conditional requests, and the right delivery pattern. Open guide →