FXMacroData Press Releases API

Official central-bank press-release archive endpoints.

Operations 1

GET /v1/press-releases/{currency} Recent central bank press releases #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fxmacrodata:fxmacrodata-press-releases-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fxmacrodata-press-releases-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: FX Macrodata Press Releases API
  description: Official-source macroeconomic indicators, release calendars, central-bank policy rates, FX reference rates, COT positioning and commodities across 22 currencies. USD data is available without an API key; other currencies and datasets need an `X-API-Key` header.
  version: 1.0.0
servers:
- url: https://api.fxmacrodata.com
  description: FXMacroData API
security:
- {}
- APIKeyHeader: []
- HTTPBearer: []
tags:
- name: press_releases
  description: Official central-bank press-release archive endpoints.
paths:
  /v1/press-releases/{currency}:
    get:
      tags:
      - press_releases
      summary: Recent central bank press releases
      description: 'Returns recent press releases from official central bank websites for the requested currency.


        **Supported currencies:** AUD, BRL, CAD, CHF, CNY, DKK, EUR, GBP, ILS, JPY, KRW, NGN, NOK, NZD, PEN, SEK, THB, USD


        **Path Parameters:**

        - `currency`: 3-letter ISO currency code (e.g., USD, EUR, GBP).


        **Query Parameters:**

        - `limit`: Maximum number of press releases to return per page (1–50, default 20).

        - `offset`: Zero-based pagination offset (default: 0).


        **Authentication:** USD press releases are publicly available without an API key. All other currencies require a professional API key supplied via `?api_key=` or the `X-API-Key` header.


        **Data sources:** Official central bank RSS feeds and websites only.'
      operationId: get_press_releases_v1_press_releases__currency__get
      parameters:
      - name: currency
        in: path
        required: true
        schema:
          type: string
          title: Currency
          enum:
          - AUD
          - BRL
          - CAD
          - CHF
          - DKK
          - EUR
          - GBP
          - ILS
          - JPY
          - NGN
          - NOK
          - NZD
          - PEN
          - SEK
          - USD
          example: AUD
        description: 'Required path parameter. Allowed values: AUD, BRL, CAD, CHF, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, USD.'
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 50
          minimum: 1
          description: Maximum number of press releases to return
          examples:
          - 10
          default: 20
          title: Limit
        description: Optional query parameter. Maximum number of press releases to return
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Zero-based offset into the full press-release feed before pagination.
          default: 0
          title: Offset
        description: Optional query parameter. Zero-based offset into the full press-release feed before pagination.
      - name: api_key
        in: query
        required: false
        schema:
          type: string
          description: Your Individual or Business API key
          title: Api Key
        description: 'Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.'
        deprecated: true
      responses:
        '200':
          description: Recent press releases for the selected central bank.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PressReleasesResponse'
              example:
                currency: USD
                source: Federal Reserve
                source_url: https://www.federalreserve.gov
                count: 2
                data:
                - title: Federal Reserve issues FOMC statement
                  url: https://www.federalreserve.gov/newsevents/pressreleases/monetary20260319a.htm
                  date: '2026-03-19'
                  summary: The Committee decided to maintain the target range for the federal funds rate...
                  category: monetary_policy
                  relevance: 0.95
                  ai_summary: FOMC held rates and stressed inflation persistence, signalling a longer plateau than markets had priced.
                  ai_stance: hawkish
                  ai_stance_score: 0.45
                  ai_next_meeting_action: hold
                  ai_next_meeting_probability: 0.7
                  ai_rationale: Statement cited 'elevated' inflation and the need to keep policy 'sufficiently restrictive'.
                  rate_path:
                    score: 0.42
                    label: Moderately Hawkish
                    bias_action: hike
                    confidence: medium
                    raw_score: 1.1
                    matches:
                    - phrase: elevated inflation
                      weight: 0.7
                    - phrase: restrictive stance
                      weight: 0.7
        '404':
          description: Currency not supported for press releases.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-parameter-availability:
        currency:
        - AUD
        - BRL
        - CAD
        - CHF
        - DKK
        - EUR
        - GBP
        - ILS
        - JPY
        - NGN
        - NOK
        - NZD
        - PEN
        - SEK
        - USD
components:
  schemas:
    PressRelease:
      properties:
        url:
          anyOf:
          - type: string
          - type: 'null'
          title: Url
        date:
          anyOf:
          - type: string
          - type: 'null'
          title: Date
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        topics:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Topics
        summary:
          anyOf:
          - type: string
          - type: 'null'
          title: Summary
        category:
          anyOf:
          - type: string
          - type: 'null'
          title: Category
        rate_path:
          anyOf:
          - $ref: '#/components/schemas/PressReleaseRatePath'
          - type: 'null'
        relevance:
          anyOf:
          - type: number
          - type: 'null'
          title: Relevance
        sentiment:
          anyOf:
          - type: number
          - type: 'null'
          title: Sentiment
        ai_summary:
          anyOf:
          - type: string
          - type: 'null'
          title: Ai Summary
          description: Model-generated one-to-two sentence FX/macro takeaway. Not an official statement.
        ai_stance:
          anyOf:
          - type: string
          - type: 'null'
          title: Ai Stance
          description: 'Model-assessed stance: `hawkish`, `dovish` or `neutral`.'
        ai_stance_score:
          anyOf:
          - type: number
          - type: 'null'
          title: Ai Stance Score
          description: Model-assessed stance in [-1, 1]; positive is hawkish.
        ai_next_meeting_action:
          anyOf:
          - type: string
          - type: 'null'
          title: Ai Next Meeting Action
          description: 'Model-assessed next policy action: `hike`, `cut` or `hold`.'
        ai_next_meeting_probability:
          anyOf:
          - type: number
          - type: 'null'
          title: Ai Next Meeting Probability
          description: Model-assessed probability in [0, 1] of `ai_next_meeting_action` at the next meeting.
        ai_rationale:
          anyOf:
          - type: string
          - type: 'null'
          title: Ai Rationale
          description: Model-generated one-sentence justification for the stance.
      type: object
      title: PressRelease
    PaginationInfo:
      properties:
        limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Limit
        offset:
          type: integer
          title: Offset
        returned_count:
          type: integer
          title: Returned Count
        total_count:
          type: integer
          title: Total Count
        has_more:
          type: boolean
          title: Has More
        next_offset:
          anyOf:
          - type: integer
          - type: 'null'
          title: Next Offset
        page_includes_latest_available:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Page Includes Latest Available
      type: object
      required:
      - offset
      - returned_count
      - total_count
      - has_more
      title: PaginationInfo
      description: Offset pagination state for a single page of results.
    PressReleaseRatePath:
      properties:
        label:
          anyOf:
          - type: string
          - type: 'null'
          title: Label
        score:
          anyOf:
          - type: number
          - type: 'null'
          title: Score
        matches:
          anyOf:
          - items:
              $ref: '#/components/schemas/RatePathMatch'
            type: array
          - type: 'null'
          title: Matches
        raw_score:
          anyOf:
          - type: number
          - type: 'null'
          title: Raw Score
        confidence:
          anyOf:
          - type: string
          - type: 'null'
          title: Confidence
        bias_action:
          anyOf:
          - type: string
          - type: 'null'
          title: Bias Action
      type: object
      title: PressReleaseRatePath
      description: Rate-path bias inferred from the release text.
    RatePathMatch:
      properties:
        phrase:
          anyOf:
          - type: string
          - type: 'null'
          title: Phrase
        weight:
          anyOf:
          - type: integer
          - type: number
          - type: 'null'
          title: Weight
      type: object
      title: RatePathMatch
      description: 'One scoring phrase found in the release and its weight.


        At most 20 per release. ``phrase`` is an entry from the hawkish/dovish

        scoring vocabulary, not an excerpt of the release; positive weights are

        hawkish, negative weights dovish.'
    PressReleasesResponse:
      properties:
        currency:
          anyOf:
          - type: string
          - type: 'null'
          title: Currency
        source:
          anyOf:
          - type: string
          - type: 'null'
          title: Source
        source_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Source Url
        limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Limit
        offset:
          anyOf:
          - type: integer
          - type: 'null'
          title: Offset
        count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Count
        pagination:
          anyOf:
          - $ref: '#/components/schemas/PaginationInfo'
          - type: 'null'
        data:
          anyOf:
          - items:
              $ref: '#/components/schemas/PressRelease'
            type: array
          - type: 'null'
          title: Data
      type: object
      title: PressReleasesResponse
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: 'FXMacroData API key. Preferred transport for server-side clients: the key stays out of URLs and access logs.'
    HTTPBearer:
      type: http
      scheme: bearer
      description: 'FXMacroData API key or OAuth access token supplied as ``Authorization: Bearer <key>``.'
    APIKeyQuery:
      type: apiKey
      in: query
      name: api_key
      x-deprecated: true
      description: 'Deprecated. FXMacroData API key as a query parameter. Still accepted so existing integrations keep working, but new integrations must use the X-API-Key header (APIKeyHeader) or Authorization: Bearer. The only exception is browser EventSource clients of the live-delivery streams, which cannot set request headers.'