{"uid":"cap_nhV3xoc8Lqu59wbxvtx3H","slug":"ecb-historical-fx-rates-via-frankfurter-95e0e18e","name":"ECB Historical FX Rates (via Frankfurter)","description":"European Central Bank reference exchange rates for any past date or date range (business days since 1999-01-04), via frankfurter.dev. Query: ?date=2026-05-01 for one day, or ?start=2026-05-01&end=2026-05-08 for a daily series (max 366 days), plus ?base=EUR&symbols=USD,GBP (symbols optional -> all). Series responses nest rates by date. Historical data is immutable; served with a 24h cache.","url":"https://x402-datashop-production.up.railway.app/v1/fx/history","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","properties":{"end":{"type":"string","description":"Series end YYYY-MM-DD (default today, max 366 days after start)"},"base":{"type":"string","default":"EUR","description":"Base currency code"},"date":{"type":"string","description":"Single day YYYY-MM-DD (mutually exclusive with start/end)"},"start":{"type":"string","description":"Series start YYYY-MM-DD"},"symbols":{"type":"string","description":"Comma-separated target currencies, max 12 (optional -> all)"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_ZSY1qL97fSGNHrgBp6cJ2","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns European Central Bank reference exchange rates for a single past date or a date range, sourced from frankfurter.dev.","exampleAgentPrompt":"What were the ECB reference exchange rates for EUR against USD and GBP every business day from May 1 to May 8 2026?","exampleUseCases":null,"resultDescription":"A JSON object with date-keyed exchange rates. For a single date, returns base currency and a rates map of currency codes to values. For a range, nests rates under each business date key. Historical data is immutable and served from a 24-hour cache.","failureModes":["Date outside valid range (before 1999-01-04) returns an error","Weekend or public holiday with no ECB data may return empty or skip that date","More than 366 days between start and end returns an error","Invalid currency code in symbols returns an error or empty rates","Mutually exclusive params (date + start/end together) may cause a bad request"],"whenToPreferThis":"Use this endpoint when you need authoritative ECB reference rates for any historical business day since January 1999, especially for accounting, compliance, or financial reporting contexts requiring official European Central Bank rates. Prefer over live-rate endpoints when you need past data. The 24h cache makes it fast for repeated queries on the same date range.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:49:56.223Z","isFirstParty":false}