SourceFinch Verified · Exchange rates

U.S. Treasury reporting rate of exchange for the euro, quarterly

The U.S. Treasury's reporting rate of exchange for the euro (euros per U.S. dollar) for the last 40 quarters and mid-quarter amendments, one record per effective date.

Monitor this sourceAPI, CLI, SDK and MCP

At a glance

Jurisdiction
United States (federal)
Publisher updates
Quarterly, with amendments during the quarter
SourceFinch checks
Daily by default
Records per run
40 in the latest run
Record key
effective_date
Acquired from
Publisher's public API: https://api.fiscaldata.treasury.gov/services/api/fiscal_service/v1/accounting/od/rates_of_exchange?filter=country_currency_desc:eq:Euro%20Zone-Euro&sort=-effective_date&page%5Bsize%5D=40
Recipe
v1.0.0, approved October 12, 2026
Verified since
October 12, 2026
Last green run
October 12, 2026

What the data contains

The Treasury Reporting Rates of Exchange are the exchange rates federal agencies must use to report foreign currency amounts; the Bureau of the Fiscal Service publishes them quarterly and amends a rate during the quarter when it moves by 10% or more. This source asks the keyless Fiscal Data API for the euro (Euro Zone-Euro) rates, newest first, 40 at a time, on each daily run and makes one record per effective date, keyed by the date the rate takes effect, with the quarter-end record date, the rate in euros per U.S. dollar and the country and currency as published. A monitor reports each new quarter's rate and any amendment. Other currencies use the same endpoint with a different country_currency_desc filter. The data describes exchange rates and contains no personal data. SourceFinch is independent of the Treasury.

Fields and types

Every record has these fields. The key field effective_date identifies a record across runs, so changes are reported field by field.

FieldTypeDescription
effective_datekeydateDate the rate takes effect (YYYY-MM-DD); a mid-quarter amendment has its own date. The record key.
record_datedate, nullableQuarter-end date of the report the rate belongs to (YYYY-MM-DD).
exchange_ratenumberTreasury reporting rate: euros per U.S. dollar.
countrystring, nullableCountry or area as published (Euro Zone).
currencystring, nullableCurrency name as published (Euro).
country_currencystring, nullableTreasury's combined country and currency label (Euro Zone-Euro).

Sample output

The first 5 of 40 records from SourceFinch's own run on October 12, 2026, exactly as delivered.

FieldRecord 1Record 2Record 3Record 4Record 5
effective_date2026-09-302026-06-302026-03-312025-12-312025-09-30
record_date2026-09-302026-06-302026-03-312025-12-312025-09-30
exchange_rate0.8810.8770.870.8510.852
countryEuro ZoneEuro ZoneEuro ZoneEuro ZoneEuro Zone
currencyEuroEuroEuroEuroEuro
country_currencyEuro Zone-EuroEuro Zone-EuroEuro Zone-EuroEuro Zone-EuroEuro Zone-Euro
Sample as JSON
[
  {
    "country": "Euro Zone",
    "currency": "Euro",
    "record_date": "2026-09-30",
    "exchange_rate": 0.881,
    "effective_date": "2026-09-30",
    "country_currency": "Euro Zone-Euro"
  },
  {
    "country": "Euro Zone",
    "currency": "Euro",
    "record_date": "2026-06-30",
    "exchange_rate": 0.877,
    "effective_date": "2026-06-30",
    "country_currency": "Euro Zone-Euro"
  },
  {
    "country": "Euro Zone",
    "currency": "Euro",
    "record_date": "2026-03-31",
    "exchange_rate": 0.87,
    "effective_date": "2026-03-31",
    "country_currency": "Euro Zone-Euro"
  },
  {
    "country": "Euro Zone",
    "currency": "Euro",
    "record_date": "2025-12-31",
    "exchange_rate": 0.851,
    "effective_date": "2025-12-31",
    "country_currency": "Euro Zone-Euro"
  },
  {
    "country": "Euro Zone",
    "currency": "Euro",
    "record_date": "2025-09-30",
    "exchange_rate": 0.852,
    "effective_date": "2025-09-30",
    "country_currency": "Euro Zone-Euro"
  }
]

Evidence behind every value

  • Each run keeps the publisher's exact response, hashed with SHA-256. This sample came from a response with hash 60f1ed319b8d3d94e6ca075056aa47801be72aeb605f0dcc34e0fac598868af5.
  • Every value records where it came from in that response: a JSON Pointer into the retained capture.
  • Each run gets a signed manifest (Ed25519) timestamped by an RFC 3161 authority: this run's manifest hash is 5e069dd6543b092777419212bc87020085f94cd9f4aa2b0605949680086a8e2d, timestamped October 12, 2026.
  • The compliance state at capture is recorded with the evidence: robots.txt hash and verdict, AI-preference signals, crawler identity and the usage rights below.
  • Download any run as an evidence bundle (WACZ) and check it offline, without trusting SourceFinch: sourcefinch verify-bundle run.wacz.

Terms posture and usage rights

Terms
Automated access permitted · publisher's terms
robots.txt
None published (HTTP 404); access allowed under RFC 9309
AI-preference signals
None observed at review
Public record
Yes. Treasury Reporting Rates of Exchange, published by the Bureau of the Fiscal Service; U.S. government work, 17 U.S.C. 105.
Reviewed
October 12, 2026; next review April 12, 2027
Licence basis
U.S. government work (public domain)
Commercial use
Allowed
Redistribution
Allowed
Attribution
Not required

The Bureau of the Fiscal Service's API documentation states that its data is offered free, without restriction, and available to copy, adapt, redistribute or otherwise use for non-commercial or commercial purposes, and that the API needs no user account or token. The data are U.S. government works (17 U.S.C. 105). api.fiscaldata.treasury.gov serves no robots.txt (HTTP 404), which RFC 9309 treats as allowing access.

Usage rights travel with every record SourceFinch delivers (API, exports, webhooks and evidence bundles). They are our documented understanding of the publisher's stated terms, not legal advice.

Reliability

Runs, last 30 days
1
Green
100%
Failed
0
Median run time
1.0 s
Latest run
success, October 12, 2026

Measured on completed runs of this recipe version across SourceFinch, anonymized, within a rolling 30-day window. First successful observation: October 12, 2026. A new recipe has only the history collected since that date; this is not a 30-day uptime guarantee.

Use it

Every surface creates the same monitor from this Verified recipe. Monitors keep record history, report field-level changes and deliver by webhook, export or email. You confirm you have the right to collect the source (rights: true).

Console

Open this recipe in the console: it preserves the reviewed URL, fields and record key. Review the latest captured sample, confirm source rights, and choose a schedule before creating your monitor.

Portable recipe

Copy into the console's Import or share a recipe panel to customize fields, types and schedules. This configuration contains no captured records or workspace IDs.

{
  "schema": "sourcefinch/source@1",
  "name": "U.S. Treasury reporting rate of exchange for the euro, quarterly",
  "url": "https://api.fiscaldata.treasury.gov/services/api/fiscal_service/v1/accounting/od/rates_of_exchange?filter=country_currency_desc:eq:Euro%20Zone-Euro&sort=-effective_date&page%5Bsize%5D=40",
  "recipe": {
    "mode": "http",
    "format": "json",
    "items": "data[*]",
    "fields": {
      "country": "country",
      "currency": "currency",
      "record_date": "record_date",
      "exchange_rate": "exchange_rate",
      "effective_date": "effective_date",
      "country_currency": "country_currency_desc"
    },
    "required": [
      "effective_date",
      "exchange_rate"
    ],
    "types": {
      "effective_date": "date",
      "exchange_rate": "number",
      "record_date": "date"
    }
  },
  "schedule": "daily",
  "key_field": "effective_date"
}

source.json

The request body used by the API, CLI and SDK examples.

{
  "name": "U.S. Treasury reporting rate of exchange for the euro, quarterly",
  "url": "https://api.fiscaldata.treasury.gov/services/api/fiscal_service/v1/accounting/od/rates_of_exchange?filter=country_currency_desc:eq:Euro%20Zone-Euro&sort=-effective_date&page%5Bsize%5D=40",
  "recipe": {
    "mode": "http",
    "format": "json",
    "items": "data[*]",
    "fields": {
      "country": "country",
      "currency": "currency",
      "record_date": "record_date",
      "exchange_rate": "exchange_rate",
      "effective_date": "effective_date",
      "country_currency": "country_currency_desc"
    },
    "required": [
      "effective_date",
      "exchange_rate"
    ],
    "types": {
      "record_date": "date",
      "exchange_rate": "number",
      "effective_date": "date"
    }
  },
  "key_field": "effective_date",
  "schedule": "daily",
  "rights": true,
  "catalog": {
    "slug": "treasury-reporting-rates-of-exchange-euro",
    "version_id": "5c12b95e-5d19-4d25-81a7-300e74a2cf3e"
  }
}

REST API

Create an API key under Console → API keys. Reference: /docs/api.

# the Verified entry (fields, recipe, sample, terms) as JSON
curl https://sourcefinch.com/v1/catalog/treasury-reporting-rates-of-exchange-euro -H "Authorization: Bearer $SOURCEFINCH_API_KEY"

# create the monitor from source.json (below)
curl -X POST https://sourcefinch.com/v1/sources \
  -H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @source.json

# then run it now (later runs follow the schedule)
curl -X POST https://sourcefinch.com/v1/sources/$SOURCE_ID/runs \
  -H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

CLI

The sourcefinch CLI is not on npm yet; see /docs/cli.

sourcefinch login
sourcefinch catalog get treasury-reporting-rates-of-exchange-euro --source-json > source.json
sourcefinch sources create --file source.json
sourcefinch runs create $SOURCE_ID --wait
sourcefinch records $SOURCE_ID

TypeScript SDK

The SDK is not on npm yet; see /docs/sdk.

import { SourceFinch } from "@sourcefinch/sdk";

const sf = new SourceFinch({ apiKey: process.env.SOURCEFINCH_API_KEY });
const entry = await sf.catalog.get("treasury-reporting-rates-of-exchange-euro");
const source = await sf.sources.create({
  catalog: { slug: entry.slug, version_id: entry.recipe.version_id },
  name: entry.name.slice(0, 100),
  url: entry.acquisition_path.endpoint,
  recipe: entry.recipe.definition,
  key_field: entry.recipe.key_field,
  schedule: entry.recipe.schedule,
  rights: true, // you confirm you have the right to collect this source
});
const run = await sf.runs.wait((await sf.runs.create(source.id)).id);
console.log(run.status);

MCP

Remote MCP server with OAuth; see /docs/mcp.

claude mcp add --transport http sourcefinch https://sourcefinch.com/mcp

# then ask your agent:
"Use SourceFinch to monitor U.S. Treasury reporting rate of exchange for the euro, quarterly: get_catalog_source treasury-reporting-rates-of-exchange-euro,
then create_source with its create_source_args (dry run first), then run_source."

Pricing

Each check is one run, whatever the number of records, and failed runs are free. On its default daily schedule this source uses about 30 runs a month, which fits the Free plan's 300 runs. It uses HTTP acquisition, so no browser runs are needed. See plans.

Guides using this source

All guides

More from Bureau of the Fiscal Service (U.S. Department of the Treasury) and in exchange rates.

SourceFinch is independent and is not affiliated with or endorsed by Bureau of the Fiscal Service (U.S. Department of the Treasury). This page describes u.s. treasury reporting rate of exchange for the euro, quarterly as SourceFinch acquires it.