{"uid":"cap_cqZ_LfT1GoCoRdxWpj_3y","slug":"ecb-fx-history-90-day-daily-exchange-rates-35413452","name":"ECB FX History – 90-Day Daily Exchange Rates","description":"Use when you need historical exchange rates, a historical FX rate series, forex history or a currency trend. Do not use for rates older than 90 days, live quotes or crypto (one ECB rate per business day). Returns JSON with historical exchange rates: 90 days of daily ECB euro reference rates (free at ecb.europa.eu) for up to 10 currencies, rebased to any base as cross rates, with min, max and percent change for 0.005 USDC per call. Typical response time 1500 ms (p95). Category: Data.","url":"https://x402-gateway.blackwoodstate8.workers.dev/v1/fx-history?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["symbols"],"properties":{"base":{"type":"string","pattern":"^[A-Za-z]{3}$","description":"Base currency, ISO 4217 (EUR when omitted), e.g. USD"},"days":{"type":"integer","maximum":90,"minimum":1,"description":"Calendar days back from endDate, 1 to 90 (90 when omitted; ignored with startDate), e.g. 30"},"endDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last day, YYYY-MM-DD (latest ECB day when omitted), e.g. 2026-09-30"},"symbols":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z]{3}$"},"maxItems":10,"minItems":1,"description":"Currencies to return, ISO 4217, up to 10, e.g. [\"USD\", \"BRL\"]"},"startDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First day, YYYY-MM-DD, within the last 90 days, e.g. 2026-09-01"}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["base","startDate","endDate","days","truncated","series","stats","attribution","note"],"properties":{"base":{"type":"string"},"days":{"type":"number"},"next":{"type":"object","required":["service","tool","method","url","useWhen","sample"],"properties":{"url":{"type":"string","description":"Paid route of the next call"},"tool":{"type":"string","description":"MCP tool name of the same call"},"method":{"enum":["GET","POST"],"type":"string"},"sample":{"type":"string","description":"Free fixed sample of the whole family"},"service":{"type":"string","description":"Service id of the suggested next paid call"},"useWhen":{"type":"string","description":"When the next call is the right one"}},"description":"Suggested next paid call in the same family (call it in a loop when the task continues)","additionalProperties":false},"note":{"type":"string"},"stats":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","required":["first","last","min","max","changePct"],"properties":{"max":{"type":"number"},"min":{"type":"number"},"last":{"type":"number"},"first":{"type":"number"},"changePct":{"type":"number"}},"additionalProperties":false}},"series":{"type":"array","items":{"type":"object","required":["date","rates"],"properties":{"date":{"type":"string"},"rates":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}},"additionalProperties":false}},"endDate":{"type":"string"},"startDate":{"type":"string"},"truncated":{"type":"boolean"},"attribution":{"type":"string"}},"additionalProperties":false}}}}},"responseSchema":{"type":"json","example":{"base":"EUR","days":5,"note":"ECB reference rates are for information purposes only, published once per business day; they are not trading rates. Rates against a base other than EUR and the statistics are calculated by Blackwood State from the ECB euro rates.","stats":{"BRL":{"max":5.7197,"min":5.5819,"last":5.7197,"first":5.5819,"changePct":2.47},"USD":{"max":1.1253,"min":1.1181,"last":1.1253,"first":1.1181,"changePct":0.64}},"series":[{"date":"2026-10-12","rates":{"BRL":5.5819,"USD":1.1181}},{"date":"2026-10-13","rates":{"BRL":5.6125,"USD":1.1188}},{"date":"2026-10-14","rates":{"BRL":5.6246,"USD":1.1195}},{"date":"2026-10-15","rates":{"BRL":5.6679,"USD":1.1208}},{"date":"2026-10-16","rates":{"BRL":5.7197,"USD":1.1253}}],"endDate":"2026-10-16","startDate":"2026-10-12","truncated":false,"attribution":"Source: European Central Bank (ECB) euro foreign exchange reference rates, available free of charge at ecb.europa.eu"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_jnToB4F1B0CIqiJPruvzK","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns 90 days of daily ECB euro reference rates for up to 10 currencies, rebased to any base currency with min, max, and percent change stats.","exampleAgentPrompt":"Can you pull the last 30 days of daily ECB exchange rates for USD, GBP, and JPY rebased to USD, and tell me the min, max, and percent change for each?","exampleUseCases":[{"title":"FX trend report for finance team","prompt":"Get me 90 days of daily ECB rates for EUR, GBP, CHF, and SEK rebased to USD so I can analyze how each currency has trended against the dollar."},{"title":"Currency volatility check before invoice","prompt":"What were the min, max, and percent change for BRL and MXN vs USD over the last 30 days? I want to understand how much the exchange rate has swung recently."},{"title":"Historical rate lookup for accounting","prompt":"I need the daily ECB exchange rates for AUD, CAD, and NZD from 2026-01-01 to 2026-03-31, rebased to EUR, so I can reconcile our international invoices."}],"resultDescription":"A JSON object containing: the base currency, date range, number of days, a daily time-series of rates for each requested currency, per-currency stats (min, max, percent change), ECB attribution, and a note field. May also include a 'next' field suggesting related paid calls.","failureModes":["Request for dates older than 90 days returns an error or empty series","Requesting more than 10 symbols returns a validation error","Invalid ISO 4217 currency codes return an error","ECB publishes one rate per business day, so weekends/holidays produce no data point","Crypto or non-ECB-tracked currencies are not supported and will error or return empty","Payment failure (insufficient USDC balance) blocks the call","p95 latency is 1500 ms; occasional timeouts possible under load"],"whenToPreferThis":"Choose this endpoint when you need up to 90 days of historical daily ECB official euro reference rates for up to 10 fiat currencies, optionally rebased to a non-EUR base currency. It is ideal for trend analysis, volatility reporting, and financial reconciliation. Do not use it for live/real-time quotes, rates older than 90 days, or cryptocurrency exchange rates.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-22T18:45:22.306Z","isFirstParty":false,"canonicalSlug":"ecb-fx-history-90-day-daily-exchange-rates-35413452"}